const SMSClient = require('@alicloud/sms-sdk');
require('dotenv').config();
const accessKeyId = process.env.ALI_ACCESS_KEY_ID;
const secretAccessKey = process.env.ALI_ACCESS_KEY_SECRET;

const smsClient = new SMSClient({ accessKeyId, secretAccessKey });

async function sendVerificationCode(phone, code){
  // 阿里云要求国内号码不带国际前缀，直接使用 13xxx
  // 移除号码中的 '+' 和 '86' 前缀（假设原号码格式为+86130...）
  const formattedPhone = phone.replace(/^\+86/, '');
  try {
    const params = {
      PhoneNumbers: formattedPhone,
      SignName: '小五', // 控制台申请的签名
      TemplateCode: 'SMS_479145234', // 控制台申请的模板ID
      TemplateParam: JSON.stringify({code}) // 模板变量替换JSON
    };

    const result = await smsClient.sendSMS(params);
    
    if (result.Code === 'OK') {
      console.log(`验证码已发送至 ${formattedPhone}`);
      return true
    } else {
      throw new Error(result.Message);
    }
  } catch (err) {
    console.error('短信发送失败:', err);
    throw err;
  }
}
module.exports = sendVerificationCode;